home *** CD-ROM | disk | FTP | other *** search
Wrap
Mathematica notebook | 1992-08-04 | 22.4 KB | 420 lines
(*^ ::[automaticGrouping; magnification = 125; currentKernel; fontset = title, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e8, 24, "Times"; ; fontset = subtitle, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e6, 18, "Times"; ; fontset = subsubtitle, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeTitle, center, M7, italic, L1, e6, 14, "Times"; ; fontset = section, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, grayBox, M22, bold, L1, a20, 18, "Times"; ; fontset = subsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, blackBox, M19, bold, L1, a15, 14, "Times"; ; fontset = subsubsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, whiteBox, M18, bold, L1, a12, 12, "Times"; ; fontset = text, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = smalltext, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 10, "Times"; ; fontset = input, noPageBreakBelow, nowordwrap, preserveAspect, groupLikeInput, M42, N23, bold, L1, 12, "Courier"; ; fontset = output, output, inactive, noPageBreakBelow, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L-5, 12, "Courier"; ; fontset = message, inactive, noPageBreakBelow, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = print, inactive, noPageBreakBelow, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = info, inactive, noPageBreakBelow, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = postscript, PostScript, formatAsPostScript, output, inactive, noPageBreakBelow, nowordwrap, preserveAspect, groupLikeGraphics, M7, l34, w282, h287, L1, 12, "Courier"; ; fontset = name, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, italic, L1, 10, "Times"; ; fontset = header, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = Left Header, nohscroll, cellOutline, 12; fontset = footer, inactive, nohscroll, noKeepOnOnePage, preserveAspect, center, M7, L1, 12; fontset = Left Footer, cellOutline, blackBox, 12; fontset = help, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 10, "Times"; ; fontset = clipboard, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = completions, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12, "Courier"; ; fontset = special1, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special2, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special3, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special4, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special5, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; next21StandardFontEncoding; ] :[font = title; inactive; preserveAspect; startGroup; ] Partial Differential Equations through Mathematica ;[s] 3:0,0;39,1;50,2;52,-1; 3:1,21,16,Times,1,24,0,0,0;1,22,17,Times,3,24,0,0,0;1,21,16,Times,1,24,0,0,0; :[font = section; inactive; Cclosed; preserveAspect; startGroup; ] Introduction :[font = text; inactive; preserveAspect; ] We illustrate the use of Mathematica in the following areas. Section numbers refer to sections in Mark Pinsky's ;[s] 3:0,0;25,1;36,2;112,-1; 3:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = text; inactive; preserveAspect; ] Partial Differential Equations and Boundary Value Problems with Applications, McGraw-Hill, New York, 1991. ;[s] 2:0,0;76,1;106,-1; 2:1,10,8,Times,1,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = text; inactive; preserveAspect; ] Computing Fourier coefficients (Section 1.1) Graphing Fourier series (Sections 1.1, 1.3 and 1.4) Computing and graphing Legendre polynomials (Section 4.2) Graphing 3-dimensional plots of heat flow (Section 2.1) Computing and graphing Bessel Functions (Section 3.2) Graphing and animating 3-dimensional plots of a vibrating drum (Sections 2.5 and 3.3) Bifurcation of the wave equation (Section 2.4) :[font = text; inactive; preserveAspect; ] The essential references for Mathematica are the well-written books ;[s] 3:0,0;29,1;40,2;68,-1; 3:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = text; inactive; preserveAspect; ] Mathematica by Steven Wolfram, Programming in Mathematica by Roman Maeder, Mathematica: A Practical Approach by N. Blachman. ;[s] 13:0,0;11,1;12,2;32,3;43,4;44,5;47,6;58,7;59,8;77,9;88,10;90,11;112,12;127,-1; 13:1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = text; inactive; pageBreakBelow; preserveAspect; endGroup; ] The books by Wolfram and Maeder are published by Addison-Wesley, and the book by Blachman is published by Prentice-Hall. ;[s] 2:0,0;119,1;120,-1; 2:1,11,8,Times,0,12,0,0,0;1,10,8,Courier,1,12,0,0,0; :[font = section; inactive; Cclosed; preserveAspect; startGroup; ] Getting Started :[font = text; inactive; preserveAspect; ] Here are simple instructions for getting started with Mathematica on a NeXT workstation; the instructions for a Mac or a PC with windows are quite similar. First you need to logon. To bring up Mathematica you should click on the Mathematica icon (it is a small polyhedron). This brings up a window called "Untitled"; it is actually a notebook. To enter a formula just start typing. For example, the polynomial ;[s] 7:0,0;54,1;65,2;194,3;205,4;230,5;241,6;411,-1; 7:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = postscript; PostScript; formatAsPostScript; output; inactive; preserveAspect; pictureLeft = 0; pictureWidth = 37; pictureHeight = 14; ] %! %%Creator: Mathematica %%AspectRatio: 0.378378 200 dict begin MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0 1 0 1 [ [ 0 0 0 0 ] [ 37 14 0 0 ] ] MathScale % Start of Graphics %!PS-Adobe-2.0 EPSF-2.0 %%Title: %%Creator: EquationBuilder %%CreationDate: Mon Aug 3 17:47:55 1992 %%For: gray %%DocumentFonts: (atend) %%Pages: 0 1 %%BoundingBox: 0 0 37 14 %%Translation: 1 0.156 35.121334 0 %%EndComments %%BeginDocument: /usr/lib/NextStep/printPackage.ps %!PS-Adobe-2.0 %%Title: Printing Package %%EndComments %Version: 2.0 %Copyright: 1988, NeXT, Inc. /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor }__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {//findfont exec} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {//findfont exec dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXProcArray 5 array __NXdef /_NXChannels 0 __NXdef /_NXTotalBytes 0 __NXdef /_NXDoImageOp{ 1 index{dup}{1}ifelse /_NXChannels exch store _NXChannels 2 add 2 roll _NXProcArray 0 _NXChannels getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /_NXTotalBytes exch store pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore { 0 1 _NXChannels 1 sub{ _NXProcArray exch get exec length _NXTotalBytes exch sub /_NXTotalBytes exch store}for _NXTotalBytes 0 le{exit}if }loop /_NXProcArray 5 array def }__NXbdef /colorimage{_NXDoImageOp}__NXbdef /alphaimage{1 add _NXDoImageOp}def %%EndDocument % EquationBuilder(TM) Expression % +.\Jr(=:/*V[StRFQAYmdjEEA;1nuN+[co.OZ7L#cq3iK%3:</XJ@:d#6;^G;Td47dud<A3@ % 5%MGToUOR5&d`'TuEDU)B-tbR".RTS*D@!!!E766YS9+CLB'j@P.-O?%B4'FH)c:eX1]TM0' % o;,/#l!%\^3YU,#41L183Q(&Hf"9NTgc2h<D&k0$!hQXOnBCNsA60Psq6cY@ca,g65@$1_&! % 4;jU%&gaK#*:He)*F$K-B4KKEq1J^9P5%"9R]'S)A)2;Jgl!!L_7:gEQ')7;"ni:fi)]`HjL % )jRM8_O9-sb>TGRZ^.I)-d&^jYV\,af04qeP4q:'DuV4'URE;e;ZLbZ9#Ir(^<D"R"d[soKm % L*8qK!T9JsYCQ2)Fse$P"rm^S2bJ;f+U;Cr"mAI4HP_8X85b*ln6^\JZ:BfuTh&X!//$Y`KP % @BaVANeR4pG5Ep^(%GHPc8)Jpabm2kbcfm72s^+6LUM0*_,]gCSMK0uk5R%-Q>S443h5M!al % ##q-(\[Du*l0T^ecmk$dn)JuG&JeX,siPp3US=/LZ/I3L:)+i0e"rh98nX]f&WbEh"A:P:`! % !3LZBFmFB\0qoT&.m5+6#Zl*-iOqax % EndExpression N 484 1e4 E c5 S c295 R 4a4004b3 gsave /__NXbasematrix matrix currentmatrix def grestore %%EndProlog %%BeginSetup /EqBFont 18 dict dup begin /FontType 3 def /PaintType 0 def /FontMatrix [0.001 0 0 0.001 0 0] def /FontBBox [15 -2950 1360 1045] def /Encoding [/.notdef /rad1 /rad2 /rad3 /rad4 /rad5 /radext /int /pathint /sum /prod /cdot /vdot /ddot /hbar /bigcap /bigcup /parallel] def /Metrics 18 dict dup begin /.notdef 0 def /rad1 1000 def /rad2 1000 def /rad3 1000 def /rad4 1000 def /rad5 1048 def /radext 1048 def /int 500 def /pathint 500 def /sum 700 def /prod 700 def /cdot 1000 def /vdot 550 def /ddot 1000 def /hbar 500 def /bigcap 700 def /bigcup 700 def /parallel 500 def end def /BBox 18 dict dup begin /.notdef [0 0 0 0] def /rad1 [110 -1150 1020 0] def /rad2 [110 -1750 1020 0] def /rad3 [110 -2350 1020 0] def /rad4 [110 -2950 1020 0] def /rad5 [128 -2890 740 0] def /radext [700 -600 740 0] def /int [20 0 425 1045] def /pathint [20 0 425 1045] def /sum [15 5 640 715] def /prod [15 0 670 715] def /cdot [110 215 890 325] def /vdot [165 -5 280 770] def /ddot [110 -5 890 770] def /hbar [20 -10 480 685] def /bigcap [0 0 680 720] def /bigcup [0 0 680 720] def /parallel [65 -175 400 675] def end def /CharacterDefs 18 dict dup begin /.notdef { } def /rad1 { 980 0 moveto 464 -1048 lineto 248 -560 lineto 110 -656 lineto 125 -675 lineto 200 -624 lineto 420 -1150 lineto 460 -1150 lineto 1020 0 lineto 980 0 lineto closepath } def /rad2 { 980 0 moveto 460 -1600 lineto 245 -864 lineto 110 -1000 lineto 128 -1023 lineto 200 -950 lineto 424 -1750 lineto 456 -1750 lineto 1020 0 lineto 980 0 lineto closepath } def /rad3 { 980 0 moveto 464 -2144 lineto 248 -1160 lineto 110 -1368 lineto 130 -1390 lineto 192 -1288 lineto 424 -2350 lineto 464 -2350 lineto 1020 0 lineto 980 0 lineto closepath } def /rad4 { 980 0 moveto 880 -488 lineto 672 -1600 lineto 464 -2696 lineto 248 -1464 lineto 110 -1728 lineto 130 -1750 lineto 192 -1616 lineto 424 -2950 lineto 464 -2950 lineto 768 -1312 lineto 1020 0 lineto 980 0 lineto closepath } def /rad5 { 700 0 moveto 700 -2628 lineto 248 -1284 lineto 128 -1564 lineto 150 -1580 lineto 215 -1425 lineto 688 -2890 lineto 740 -2890 lineto 740 0 lineto 700 0 lineto closepath } def /radext { 700 0 moveto 700 -600 lineto 740 -600 lineto 740 0 lineto 700 0 lineto closepath } def /int { 245 390 moveto 225 235 195 145 180 100 curveto 165 60 150 50 140 40 curveto 135 30 85 0 50 20 curveto 35 25 25 45 25 55 curveto 20 80 30 100 55 110 curveto 80 125 93 110 110 90 curveto 135 60 155 135 160 195 curveto 165 270 170 340 190 510 curveto 205 650 lineto 220 810 230 890 265 960 curveto 275 980 295 1015 320 1030 curveto 350 1045 380 1030 395 1020 curveto 410 1010 425 980 400 955 curveto 385 940 347 925 330 950 curveto 310 970 290 955 290 940 curveto 280 900 285 745 270 610 curveto 245 390 lineto closepath } def /pathint { 245 390 moveto 225 235 195 145 180 100 curveto 165 60 150 50 140 40 curveto 135 30 85 0 50 20 curveto 35 25 25 45 25 55 curveto 20 80 30 100 55 110 curveto 80 125 93 110 110 90 curveto 135 60 155 135 160 195 curveto 165 270 170 340 190 510 curveto 205 650 lineto 220 810 230 890 265 960 curveto 275 980 295 1015 320 1030 curveto 350 1045 380 1030 395 1020 curveto 410 1010 425 980 400 955 curveto 385 940 347 925 330 950 curveto 310 970 290 955 290 940 curveto 280 900 285 745 270 610 curveto 245 390 lineto fill 20 setlinewidth 220 400 moveto 290 400 340 455 340 500 curveto 340 585 290 640 220 640 curveto 155 640 100 585 100 500 curveto 100 455 155 400 220 400 curveto stroke } def /sum { 330 335 moveto 20 715 lineto 575 715 lineto 600 545 lineto 575 535 lineto 550 625 525 685 395 685 curveto 160 685 lineto 411 370 lineto 160 90 lineto 470 90 lineto 565 90 590 140 610 210 curveto 640 200 lineto 585 5 lineto 15 5 lineto 330 335 lineto closepath } def /prod { 590 90 moveto 590 30 620 20 670 20 curveto 670 0 lineto 410 0 lineto 410 20 lineto 460 20 495 30 495 90 curveto 495 670 lineto 190 670 lineto 190 90 lineto 190 30 225 20 275 20 curveto 275 0 lineto 15 0 lineto 15 20 lineto 65 20 100 30 100 90 curveto 100 615 lineto 100 690 40 700 20 700 curveto 20 715 lineto 670 715 lineto 670 700 lineto 645 700 590 690 590 615 curveto 590 90 lineto closepath } def /cdot { 110 270 moveto 110 300 135 325 165 325 curveto 195 325 220 300 220 270 curveto 220 235 185 215 165 215 curveto 145 215 110 235 110 270 curveto fill 445 270 moveto 445 300 470 325 500 325 curveto 530 325 555 300 555 270 curveto 555 235 520 215 500 215 curveto 480 215 445 235 445 270 curveto fill 775 270 moveto 775 300 800 325 830 325 curveto 860 325 890 300 890 270 curveto 890 235 850 215 830 215 curveto 810 215 775 235 775 270 curveto fill } def /vdot { 220 770 moveto 250 770 280 750 280 720 curveto 280 680 250 660 220 660 curveto 185 660 165 695 165 720 curveto 165 740 185 770 220 770 curveto fill 220 440 moveto 250 440 280 415 280 385 curveto 280 355 250 330 220 330 curveto 185 330 165 365 165 385 curveto 165 405 185 440 220 440 curveto fill 220 105 moveto 250 105 280 80 280 50 curveto 280 20 250 -5 220 -5 curveto 185 -5 165 30 165 50 curveto 165 70 185 105 220 105 curveto fill } def /ddot { 165 720 moveto 205 720 220 700 220 665 curveto 220 630 195 610 165 610 curveto 130 620 110 645 110 665 curveto 110 690 130 720 165 720 curveto fill 500 440 moveto 530 440 555 415 555 385 curveto 555 355 530 330 500 330 curveto 465 330 445 365 445 385 curveto 445 405 465 440 500 440 curveto fill 830 155 moveto 860 155 890 130 890 100 curveto 890 70 860 45 830 45 curveto 795 45 775 80 775 100 curveto 775 120 795 155 830 155 curveto fill } def /hbar { 480 105 moveto 440 55 400 -10 335 -10 curveto 300 -10 290 10 290 35 curveto 290 65 370 350 370 365 curveto 370 380 355 390 340 390 curveto 290 390 205 275 185 250 curveto 140 180 125 125 95 0 curveto 20 0 lineto 150 500 lineto 160 545 180 600 180 615 curveto 180 625 170 640 135 640 curveto 110 640 lineto 100 655 lineto 165 660 215 670 270 685 curveto 275 680 lineto 155 240 lineto 155 235 lineto 190 290 290 440 380 440 curveto 400 440 450 435 450 370 curveto 450 335 365 80 365 55 curveto 365 45 375 40 385 40 curveto 405 40 425 70 465 115 curveto 480 105 lineto fill 55 545 moveto 55 520 lineto 310 560 lineto 310 585 lineto 55 545 lineto fill } def /bigcap { 615 400 moveto 615 575 500 655 340 655 curveto 180 655 70 575 70 400 curveto 70 0 lineto 5 0 lineto 5 400 lineto 5 610 140 720 340 720 curveto 545 720 680 610 680 400 curveto 680 0 lineto 615 0 lineto 615 400 lineto closepath } def /bigcup { 65 320 moveto 65 145 180 65 340 65 curveto 500 65 615 145 615 320 curveto 615 720 lineto 680 720 lineto 680 320 lineto 680 110 540 0 340 0 curveto 140 0 0 110 0 320 curveto 0 720 lineto 65 720 lineto 65 320 lineto closepath } def /parallel { 135 675 moveto 135 -175 lineto 65 -175 lineto 65 675 lineto 135 675 lineto fill 335 675 moveto 335 -175 lineto 265 -175 lineto 265 675 lineto 335 675 lineto fill 400 675 moveto } def end def /BuildChar { 0 begin /char exch def /fontdict exch def /charname fontdict /Encoding get char get def fontdict begin Metrics charname get 0 BBox charname get aload pop setcachedevice CharacterDefs charname get exec eofill end end } def /BuildChar load 0 3 dict put end definefont pop %%EndSetup gsave 0 0 36.121334 13.302705 rectclip 0 0 36.121334 13.302705 rectclip 0 setgray 1 setalpha /Times-BoldItalic findfont 12 scalefont 44 exch defineuserobject 44 execuserobject setfont 1 1.156 moveto (x) [0 0 -3.335999 0] xyshow /Times-Roman findfont 9 scalefont 46 exch defineuserobject 46 execuserobject setfont 11.5 6.110704 moveto (51) [-4.5 0 0 0 0 0] xyshow /Symbol findfont 9 scalefont 45 exch defineuserobject 45 execuserobject setfont 50.221668 11.078728 moveto () [-5.427002 0] xyshow /Symbol findfont 12 scalefont 47 exch defineuserobject 47 execuserobject setfont 19.866667 1.156 moveto (-) [0 0 -29.77533 0] xyshow /Times-Roman findfont 12 scalefont 70 exch defineuserobject 70 execuserobject setfont 29.121334 1.156 moveto (1) [0 0 6 0] xyshow grestore %%Trailer %%DocumentFonts: Times-BoldItalic %%+ Times-Roman %%+ Symbol %End of Graphics MathPictureEnd end :[font = input; preserveAspect; ] :[font = text; inactive; preserveAspect; ] can be factored by typing :[font = input; Cclosed; preserveAspect; startGroup; ] Factor[x^15-1] :[font = output; output; inactive; preserveAspect; endGroup; ] (-1 + x)*(1 + x + x^2)* (1 + x + x^2 + x^3 + x^4)* (1 - x + x^3 - x^4 + x^5 - x^7 + x^8) ;[o] 2 (-1 + x) (1 + x + x ) 2 3 4 (1 + x + x + x + x ) 3 4 5 7 8 (1 - x + x - x + x - x + x ) :[font = text; inactive; preserveAspect; ] Mathematica on a NeXT workstation (as on a Mac or PC with windows) uses an interface called a "notebook". Notebooks are divided into cells. Each formula is entered into a "cell", recognizable by a bracket on the right side of the window. After typing a formula into a cell, you can evaluate the formula by hitting the key "Enter". (Notice that "Enter" is different from "Return"; the latter is used to go to the next line of a cell. ) ;[s] 3:0,0;1,1;12,2;441,-1; 3:1,11,8,Times,0,12,0,0,0;1,10,8,Times,2,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = text; inactive; preserveAspect; endGroup; endGroup; ] Cells can be used to display either text or graphics and can be printed individually. To print a whole notebook, click the mouse on the "print" icon. To print an individual cell, first you need to use the mouse to move the cursor to a cell bracket and click on it. You should see a long dark line encompassing the cell. Then move the cursor to the "Print Selection" icon and click the mouse button. This will bring up a dialog box that allows you to send the graphics to the printer. ^*)